package com.kotlin.demo.集合框架.map

class Map的创建 {
}

fun main() {

    //创建
    val map1 = mapOf("zq" to (123), "123" to (456))
    val map2 = mapOf(Pair("zq", 123), Pair("123", 345))

    //取值
    // 1. [] 取不到会返回 null
    println(map1["zq"])
    println(map1["zq1"])

    //2. getOrDefault
    println(map1.getOrDefault("zq", -1))
    println(map1.getOrDefault("zq1", -1))

    //3. getOrElse
    println(map1.getOrElse("zq") { -1 })
    println(map1.getOrElse("zq1") { -1 })

    //4 getValue
    println(map1.getValue("zq"))
//    println(map1.getValue("zq1")) //这种取不到 会崩溃

    //map 遍历
    map1.forEach {
        println("key:${it.key} value:${it.value}")
    }

    map1.forEach { key, value ->
        println("key:$key value:$value")
    }

    val map = mutableMapOf(Pair("zq", 123), "abc" to 123, Pair("xty", 234))
    map += Pair("cc", 34)
    map -= "zq"
    map["zq"]
    map["zq"] = 234

    map.getOrPut("FFF") { 55 }


}